package org.batatasframework.strategy;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;

/**
 * 服务器策略的处理器，可以用于执行一个策略的处理过程；
 * 并返回值，通知调用者是继续检查，还是退出
 * 
 * @author jackson
 *
 */
public interface ServerStrategyHandler {
	
	/** 对策略进行排序 */
	int getOrdinal();

	/** 策略的名称 */
	String getName();
	
	void init() throws ServletException;
	
	/** 尝试执行一个策略，如果策略执行成功，则需要怎么做 */
	ServerStrategyResult execute(HttpServletResponse response, ServerStrategyEvent event)throws IOException, ServletException;
}
